解题思路:
第一处:由于x是整型指针变量,所以地址不能赋值给整型变量,因此必须取x地址上的值,所以应改为t=*x;*x=y;。
第二处:已交换后的值存放在t中,所以返回值应为return(t);。
***************************************************
请编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
void fun (int *a, int *n)
{
}
main( )
{ int aa[1000], n, k ;
fun ( aa, &n ) ;
for ( k = 0 ; k < n ; k++ )
if((k + 1) % 10 == 0) printf("\n") ;
else printf("]", aa[k]) ;
NONO( );
}
解题思路:
本题是利用for循环语句以及取模%运算来得出符合条件的整数并存入a所指的数组。
参考答案:
void fun (int *a, int *n)
{
int i ;
*n = 0 ;
for(i = 7 ; i < 1000 ; i++)
if(((i % 7) == 0 || (i % 11) == 0) && (i % 77) != 0) a[(*n)++] = i ;
}